package top.malaoshi.ctrl.mgr;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import top.malaoshi.Constants;
import top.malaoshi.entity.Comment;
import top.malaoshi.entity.UserModel;
import top.malaoshi.vo.JsonResult;
import top.malaoshi.service.mgr.MgrCommentSrvImpl;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;

@RestController
@RequestMapping("/mgr/comment")
public class MgrCommentCtrl {

    @Resource
    private MgrCommentSrvImpl srv;

//    @PostMapping("/add")
//    public Result add(Comment comment, HttpServletRequest request) {
//        HttpSession session=request.getSession();
//        UserModel um=(UserModel)session.getAttribute("userInfo");
//        Result res=new Result();
//
//        if (comment.getContent() == null || "".equals(comment.getContent())) {
//            res.setCode(102);
//            res.setMsg("评论不能为空，请输入");
//            return res;
//        }
//        if (comment.getStar() == null ||comment.getStar()==0) {
//            res.setCode(103);
//            res.setMsg("请选择星级！");
//            return res;
//        }
////        comment.setUserId(um.getId());
//        comment.setUserId("123"); //todo: 测试代码
//        int i=srv.add(comment);
//        if(i>0){
//            res.setCode(0);
//            res.setMsg("添加成功！！");
//        }else{
//            res.setCode(1);
//            res.setMsg("添加失败！！");
//        }
//        return res;
//    }
    @PostMapping("/add")
    public JsonResult add(String star, String goodsId, String content, HttpServletRequest request) {
        HttpSession session=request.getSession();
//        UserModel um=(UserModel)session.getAttribute("usersession");
        UserModel um=(UserModel)session.getAttribute(Constants.USER_INFO);
        JsonResult res=new JsonResult();

        if (star == null || "".equals(star)) {
            res.setCode(101);
            res.setMsg("请选择星级！");
            return res;
        }
        int starInt=0;
        try{
            starInt=Integer.parseInt(star);
        }catch (Exception e){
            res.setCode(104);
            res.setMsg("星级请输入数字！");
            return res;
        }
        if (content == null || "".equals(content)) {
            res.setCode(102);
            res.setMsg("评论不能为空，请输入");
            return res;
        }
        if (goodsId == null ||"".equals(goodsId)) {
            res.setCode(105);
            res.setMsg("请选择商品！");
            return res;
        }
        Comment comment=new Comment();
        comment.setStar(starInt);
        comment.setContent(content);
        comment.setGoodsId(goodsId);
        comment.setUserId(um.getId());
        boolean b=srv.add(comment);
        if(b){
            res.setCode(0);
            res.setMsg("添加成功！！");
        }else{
            res.setCode(1);
            res.setMsg("添加失败！！");
        }
        return res;
    }

    @RequestMapping("/list")
    public JsonResult list(HttpServletRequest request) {
        HttpSession session=request.getSession();
        UserModel um=(UserModel)session.getAttribute("userInfo");

//        List<Comment> list=srv.mgrQuery(um.getId());
        List<Comment> list=srv.mgrQuery("123");

        JsonResult res=new JsonResult();
        res.setData(list);
        res.setCode(0);
        res.setMsg("成功");
        return res;
    }

}
